
// DO NOT EDIT THIS FILE - it is machine generated -*- c++ -*-

#ifndef __gnu_xml_pipeline_ValidationConsumer__
#define __gnu_xml_pipeline_ValidationConsumer__

#pragma interface

#include <gnu/xml/pipeline/EventFilter.h>
#include <gcj/array.h>

extern "Java"
{
  namespace gnu
  {
    namespace xml
    {
      namespace pipeline
      {
          class EventConsumer;
          class ValidationConsumer;
          class ValidationConsumer$Recognizer;
      }
    }
  }
  namespace org
  {
    namespace xml
    {
      namespace sax
      {
          class Attributes;
          class EntityResolver;
      }
    }
  }
}

class gnu::xml::pipeline::ValidationConsumer : public ::gnu::xml::pipeline::EventFilter
{

public:
  ValidationConsumer();
  ValidationConsumer(::gnu::xml::pipeline::EventConsumer *);
  ValidationConsumer(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::EntityResolver *, ::java::lang::String *);
private:
  void resetState();
  void warning(::java::lang::String *);
  void error(::java::lang::String *);
  void fatalError(::java::lang::String *);
  static jboolean isExtender(jchar);
  jboolean isName(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  jboolean isNmtoken(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void checkEnumeration(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
public: // actually package-private
  static jboolean hasMatch(::java::lang::String *, ::java::lang::String *);
public:
  void startDTD(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void endDTD();
  void attributeDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void elementDecl(::java::lang::String *, ::java::lang::String *);
  void internalEntityDecl(::java::lang::String *, ::java::lang::String *);
  void externalEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void notationDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void unparsedEntityDecl(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void startDocument();
private:
  static jboolean isAsciiLetter(jchar);
public:
  void skippedEntity(::java::lang::String *);
private:
  ::java::lang::String * expandDefaultRefs(::java::lang::String *);
public:
  void startElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *, ::org::xml::sax::Attributes *);
  void characters(JArray< jchar > *, jint, jint);
  void endElement(::java::lang::String *, ::java::lang::String *, ::java::lang::String *);
  void endDocument();
public: // actually package-private
  static ::gnu::xml::pipeline::ValidationConsumer$Recognizer * access$0();
  static void access$1(::gnu::xml::pipeline::ValidationConsumer *, ::java::lang::String *);
private:
  static const jboolean warnNonDeterministic = 0;
  ::java::lang::String * __attribute__((aligned(__alignof__( ::gnu::xml::pipeline::EventFilter)))) rootName;
  ::java::util::Stack * contentStack;
  jboolean disableDeclarations;
  jboolean disableReset;
  ::java::util::Hashtable * elements;
  ::java::util::Hashtable * ids;
  ::java::util::Vector * notations;
  ::java::util::Vector * nDeferred;
  ::java::util::Vector * unparsed;
  ::java::util::Vector * uDeferred;
  static ::java::lang::String * fakeRootName;
public: // actually package-private
  static JArray< ::java::lang::String * > * types;
private:
  static ::gnu::xml::pipeline::ValidationConsumer$Recognizer * ANY;
  static const jint F_LOOPHEAD = 1;
  static const jint F_LOOPNEXT = 2;
  static jint nodeCount;
public:
  static ::java::lang::Class class$;
};

#endif // __gnu_xml_pipeline_ValidationConsumer__
